]> dgit.raspbian.org Git - gnome-shell.git/commit
windowManager: Show window resizing clone on "size-changed"
authorJonas Dreßler <verdre@v0yd.nl>
Fri, 28 Feb 2020 15:43:48 +0000 (16:43 +0100)
committerFlorian Müllner <florian.muellner@gmail.com>
Fri, 28 Feb 2020 18:08:24 +0000 (18:08 +0000)
commitda05c85f3c8e76e3bef2984c6a68dddf45010951
treee8f63ff4f952aa7d6ca276f54245929ecdfde1c7
parent648179a2db106af93974eedf85eb85593e5e6bee
windowManager: Show window resizing clone on "size-changed"

When a window is being resized by the compositor, with Wayland the
compositor first asks the window to change its size and emits the
"size-change" signal, and then emits the "size-changed" signal after
the window acknowledges the new size. To show a fancy resize animation,
gnome-shell creates a "screenshot" of the resizing window on the
"size-change" signal, and later animates that "screenshot" to the new
window size on the "size-changed" signal.

Now if a client is not responding to our requests asking it to change
its size, we get a "size-change" signal and start showing the
window-clone, but never a "size-changed" signal, animating and hiding
the clone again. This causes a so called "ghost window" that is shown
above everything else and never disappears again.

To fix that, start showing the window clone once we get the
"size-changed" signal instead of the "size-change" signal. This makes
sure the window actually updates its size and the clone is going to be
hidden again.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/1078

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1055
js/ui/windowManager.js